Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Duplicate V-Type ATPase Reaction #829

Merged
merged 8 commits into from
Oct 17, 2024
Merged

Remove Duplicate V-Type ATPase Reaction #829

merged 8 commits into from
Oct 17, 2024

Conversation

Devlin-Moyer
Copy link
Collaborator

@Devlin-Moyer Devlin-Moyer commented Jun 19, 2024

Main improvements in this PR:

As discussed in #348, MAR07799 and MAR00080 both appear to represent the activity of a V-type ATPase and involve the same metabolites with slightly different stoichiometries and GPRs. The GPR of MAR00080 appears to represent the relationship that the genes encoding different subunits of the V-type ATPase relate to each other more accurately than the GPR of MAR07799, so this pull request removes MAR07799 and merges its annotations in reactions.tsv with those of MAR00080.

Since MAR07799 was the only reaction that ENSG00000071553 (ATP6AP1) was associated with, and this paper claims "missense disease mutations in ATP6AP1 cause reduced V-ATPase function by affecting its folding and assembly", and shows it bound to the V0 subunits, which are grouped in the first part of the GPR for MAR00080, this PR also changes the GPR of MAR00080 to:
(
(ATP6AP1 and ATP6V0A4 and ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0C) or
(ATP6AP1 and ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0A2 and ATP6V0C) or
(ATP6AP1 and ATP6V0A4 and ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0C) or
(ATP6AP1 and ATP6V0A1 and ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0C) or
(ATP6AP1 and ATP6V0A1 and ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0C) or
(TCIRG1 and ATP6AP1 and ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0C) or
(ATP6AP1 and ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0A2 and ATP6V0C) or
(TCIRG1 and ATP6AP1 and ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0C)
) and (
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1G1 and ATP6V1B2 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1G1 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1G1 and ATP6V1C2 and ATP6V1B2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1B2 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1B2 and ATP6V1C1 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1C2 and ATP6V1B2 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1B2 and ATP6V1C1 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1G3 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1C2 and ATP6V1B2 and ATP6V1G3 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1C2 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1C1 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1B2 and ATP6V1G3 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1B2 and ATP6V1G3 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1C1 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1G3 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1B2 and ATP6V1G3) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1B2 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1G3) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1C2 and ATP6V1G3 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1G1 and ATP6V1C2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1C2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1C2 and ATP6V1B2)
)
and adds PMID:33065002 as a reference for MAR00080

I hereby confirm that I have:

  • Tested my code on my own computer for running the model
  • Selected develop as a target branch
  • Any removed reactions and metabolites have been moved to the corresponding deprecated identifier lists

@Devlin-Moyer
Copy link
Collaborator Author

ah the YAML conversion & validation tests are failing because apparently MAR07799 was the only reaction that ENSG00000071553 (ATP6AP1) was associated with

@Devlin-Moyer
Copy link
Collaborator Author

Devlin-Moyer commented Jun 19, 2024

According to this paper, which seems to have been the first to characterize ATP6AP1's role in the assembly of the V-type ATPase complex, "missense disease mutations in ATP6AP1 cause reduced V-ATPase function by affecting its folding and assembly." So it should probably be added to the GPR of MAR00080.

The GPR of MAR00080 currently looks like this:
(
(ATP6V0A4 and ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0C) or
(ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0A2 and ATP6V0C) or
(ATP6V0A4 and ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0C) or
(ATP6V0A1 and ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0C) or
(ATP6V0A1 and ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0C) or
(TCIRG1 and ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0C) or
(ATP6V0E1 and ATP6V0B and ATP6V0D1 and ATP6V0A2 and ATP6V0C) or
(TCIRG1 and ATP6V0E1 and ATP6V0B and ATP6V0D2 and ATP6V0C)
) and (
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1G1 and ATP6V1B2 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1G1 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1G1 and ATP6V1C2 and ATP6V1B2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1B2 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1B2 and ATP6V1C1 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1C2 and ATP6V1B2 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1B2 and ATP6V1C1 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1G3 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1C2 and ATP6V1B2 and ATP6V1G3 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1C2 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1C1 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1B2 and ATP6V1G3 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1B2 and ATP6V1G3 and ATP6V1C1) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1C1 and ATP6V1G2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1G3 and ATP6V1C1 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1B2 and ATP6V1G3) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1B2 and ATP6V1G2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1C2 and ATP6V1G3) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1C2 and ATP6V1G3 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1G1 and ATP6V1C2 and ATP6V1E2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1B1 and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1C2) or
(ATP6V1H and ATP6V1D and ATP6V1A and ATP6V1F and ATP6V1E1 and ATP6V1G1 and ATP6V1C2 and ATP6V1B2)
)

So it looks like all the genes encoding the subunits of the V0 complex are grouped together in the first bit and the genes encoding the subunits of the V1 complex are in the second bit. The graphical abstract of the paper I linked earlier shows ATP6AP1 attached to the bottom of the V0 complex, so I'm just gonna add "and ATP6AP1" to each of those groups

@Devlin-Moyer Devlin-Moyer linked an issue Jun 20, 2024 that may be closed by this pull request
4 tasks
edkerk
edkerk previously approved these changes Sep 18, 2024
Copy link
Member

@edkerk edkerk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not thoroughly check the new GPR of MAR00080, but otherwise it seems fine.

Copy link

github-actions bot commented Sep 30, 2024

This PR has been automatically tested with GH Actions. Here is the output of the macaw test:

Starting dead-end test...
- Found 1373 dead-end metabolites.
- Found 1129 reactions incapable of sustaining steady-state fluxes in either direction due to these dead-ends.
- Found 2077 reversible reactions that can only carry steady-state fluxes in a single direction due to dead-ends.
Starting duplicate test...
- Skipping redox duplicates because no redox_pairs and/or proton_ids were provided.
- Found 447 reactions that were some type of duplicate:
- 0 were completely identical to at least one other reaction.
- 13 involve the same metabolites but go in the opposite direction or have the opposite reversibility as at least one other reaction.
- 447 involve the same metabolites but with different coefficients as at least one other reaction.

A more detailed output from this test run is also committed to data/macawResults/macaw_results.csv.

Note: In the case of multiple test runs, this post will be edited.

@edkerk edkerk dismissed their stale review September 30, 2024 10:42

Need to have another look at the reaction stochiometries.

@edkerk
Copy link
Member

edkerk commented Oct 3, 2024

The reaction stochiometry was incorrect. ATPase is a rotary motor protein, where a full turn of the rotating part of the enzyme comes to the cost of 3 ATP. Then, the number of c-subunits is determining how many protons are pumped per full turn. The structure in this paper shows The Vo complex comprises the c-ring of c(1)-c(9) and c″, which gives a total of 10 c-subunits.

image

Together, that makes that 3 ATP are hydrolysed to transport 10 H+ into the lysosome. However, ATP hydrolysis also releases 1 H+ per ATP (see for instance reaction MAR03964), so that the number of H+ in the cytosol only decreases by 7. The resulting equation is then:

3 ATP[c] + 3 H2O[c] + 7 H+[c] => 3 ADP[c] + 3 Pi[c] + 10 H+[l].

@edkerk edkerk merged commit 760b376 into develop Oct 17, 2024
@edkerk edkerk deleted the fix/v_type_atpases branch October 17, 2024 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A few reactions that look fishy
2 participants